package com.wangdong.xiaoting;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

import com.wangdong.xiaoting.retrofit.GithubService;
import com.wangdong.xiaoting.retrofit.Repo;

import java.io.IOException;
import java.util.List;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void wangDongClick(View view) {

        //第三步 :创建Retrofit对象
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("https://api.github.com")
                //第四步: 设置数据解析器
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        //第五步: 生成接口对象 传入什么接口class就会返回一个接口对象实例
        GithubService service = retrofit.create(GithubService.class);
        //第六步: 调用接口方法返回Call对象是接口定义 模型List<Repo>
        Call<List<Repo>> call = service.listRepos("octocat");
        //第七步: 发送请求(同步,异步)
        //同步: 调用Call 对象的execute(),返回结果的响应体
        try {
        Response<List<Repo>> response = call.execute();
        System.out.println("code:"+response.code());
        } catch (IOException e) {
            e.printStackTrace();
        }
        //异步: 调用Call 对象的Enqueue(),参数是一个回调
        call.enqueue(new Callback<List<Repo>>() {
            @Override
            public void onResponse(Call<List<Repo>> call, Response<List<Repo>> response) {
                //第八步: 处理返回的数据
                System.out.println("code:"+response.code());
            }

            @Override
            public void onFailure(Call<List<Repo>> call, Throwable t) {

            }
        });









    }
}
